package src.logica;

import java.util.Vector;


public class VectorDiferencia extends Vector<Object> {
	

	/**
	 * 
	 */
	private static final long serialVersionUID = -772008335896400153L;

	public void addElement(Diferencia unaDiferencia)
	{
		boolean entro=false; boolean antDiferencia = true;
		
		int txtActual = unaDiferencia.getTextoNro();
		int posActual = unaDiferencia.getPosicion();				
		boolean marcadoActual = unaDiferencia.getMarcado();
		
		for (int i=this.size()-1; i>=0 && !entro && antDiferencia; i--)
		{
			//Si el elemento anterior es instancia de diferencia hacemos el analisis
			if ((super.elementAt(i)) instanceof Diferencia)
			{
				int txtUltimo = ((Diferencia)super.elementAt(i)).getTextoNro();
				int posUltimo = ((Diferencia)super.elementAt(i)).getPosicion();
				if (txtUltimo == txtActual && posUltimo+1 == posActual)
				{
					entro= true;
					super.add(i+1, unaDiferencia);
				}
			}
			else
			{
				antDiferencia = false;
			}
		}
		if (!entro)
		{
			if (marcadoActual)
			{
				if (txtActual == 1)
				{
					unaDiferencia.setTxtLog("\\dif:Texto1{\n");					
				}
				else
				{
					unaDiferencia.setTxtLog("}Texto2{\n");
				}
					
			}
			super.addElement(unaDiferencia);
		}
	}
}
